package cn.itcast.config;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;

//                  javay注解引入 可读性强
@Configuration      //作为注解
//@PropertySource("classpath:jdbc.properties")  //引入配置资源文件
//@EnableConfigurationProperties(JdbcProperties.class)
public class JdbcConfig {

//    @Value("${jdbc.driverClassName}")
//    String driveClassName;                     //变量名匹配
//    @Value("${jdbc.url}")
//    String url;
//    @Value("${jdbc.username}")
//    String username;
//    @Value("${jdbc.password}")
//    String password;

//    @Autowired
//    JdbcProperties jdbcProperties1;              //Autowired注入
//
//    public JdbcConfig(JdbcProperties jdbcProperties2){//构造函数注入
//
//    }
//
//    @Bean
//    public DataSource dataSource(JdbcProperties prop){//方法内注入
//        DruidDataSource dataSource = new DruidDataSource();
//
//        dataSource.setDriverClassName(prop.getDriveClassName());
//        dataSource.setUrl(prop.getUrl());
//        dataSource.setUsername(prop.getUsername());
//        dataSource.setPassword(prop.getPassword());
//
//        return dataSource;
//    }
//    @Bean
//    @ConfigurationProperties(prefix = "jdbc")  //Spring通过配置文件对照new对象属性注入   适合调用的作用唯一的时候
//    public DataSource dataSource(){//方法内注入
//         return new DruidDataSource();
//   }

}
